import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import React from "react";
import {
Sheet,
SheetContent,
SheetDescription,
SheetHeader,
SheetTitle,
SheetTrigger,
SheetFooter,
} from "@/components/ui/sheet";
import {
Form,
FormControl,
FormField,
FormItem,
FormLabel,
FormMessage,
} from "@/components/ui/form";
import Loading from "@/components/Loading";
import useModifyProjectCosts from "../hooks/useModifyProjectCost";
const ModifyCostsProjectSidebar = ({ project }: { project: any }) => {
const { open, setOpen, form, isInputChanged, isPending, onSubmit } =
useModifyProjectCosts(project);
return (
<Sheet open={open} onOpenChange={setOpen}>
<SheetTrigger asChild>
<Button size="sm">Modificar</Button>
</SheetTrigger>
<SheetContent>
<SheetHeader>
<SheetTitle>Editar costos</SheetTitle>
<SheetDescription>
Define la cantidad de material usados cada dia.
</SheetDescription>
</SheetHeader>
<Form {...form}>
<form onSubmit={form.handleSubmit(onSubmit)}>
<div className="grid gap-4 py-4 mt-10">
<FormField
control={form.control}
name="costPerMeter"
render={({ field }) => (
<FormItem>
<FormLabel>Costo por metro</FormLabel>
<FormControl>
<Input
min={0}
type="number"
placeholder="Ej: 8.5"
{...field}
/>
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="laborCost"
render={({ field }) => (
<FormItem>
<FormLabel>Mano de obra</FormLabel>
<FormControl>
<Input
min={0}
type="number"
placeholder="Ej: 2.5"
{...field}
/>
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="totalCostMaterials"
render={({ field }) => (
<FormItem>
<FormLabel>Costo total de materiales</FormLabel>
<FormControl>
<Input
min={0}
type="number"
placeholder="Ej: 2.5"
{...field}
/>
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="totalCostPerMeter"
render={({ field }) => (
<FormItem>
<FormLabel>Costo total por metro</FormLabel>
<FormControl>
<Input
min={0}
type="number"
placeholder="Ej: 2.5"
{...field}
/>
</FormControl>
<FormMessage />
</FormItem>
)}
/>
</div>
<SheetFooter>
<Button disabled={!isInputChanged || isPending} type="submit">
<span className="mr-2">
{isPending ? "Modificando" : "Modificar"}
</span>
{isPending && <Loading size={15} />}
</Button>
</SheetFooter>
</form>
</Form>
</SheetContent>
</Sheet>
);
};
export default ModifyCostsProjectSidebar;